package Vista.VistaPiso;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

import Logica.Jugador.Jugador;
import Logica.Piso.Piso;
import Vista.VistaElementoColeccionable.VistaElementoColeccionable;
import Vista.VistaObjeto.VistaObjeto;
import Vista.VistaPremio.VistaPremio;

public abstract class VistaPiso {	
	protected Jugador jugador;
	protected Piso piso;
	
	protected JLabel imagen;
	
	public VistaPiso( Jugador jugador, Piso piso, String rutaImagen ) {
		this.jugador = jugador;
		this.piso = piso;
		imagen = new JLabel( new ImageIcon( getClass().getResource( rutaImagen ) ) );
	}
	
	public JLabel obtenerImagen() {
		return ( imagen );
	}
	
	public abstract boolean hayPremio();
	
	public abstract boolean hayObjeto();
	
	public abstract boolean hayElementoColeccionable();
	
	public abstract VistaPremio obtenerVistaPremio();
	
	public abstract VistaElementoColeccionable obtenerVistaElementoColeccionable();
	
	public abstract VistaObjeto obtenerVistaObjeto();
	
	public abstract void removerVistaPremio();
	
	public abstract void removerVistaElementoColeccionable();
	
	public abstract void removerVistaObjeto();
	
	public abstract void establecerVistaPremio( VistaPremio vistaPremio );
	
	public abstract void establecerVistaElementoColeccionable( VistaElementoColeccionable vistaElementoColeccionable );
	
	public abstract void establecerVistaObjeto( VistaObjeto vistaObjeto );
	
	public abstract void establecerRutaImagen( String rutaImagen );	
	
	public Piso obtenerPiso() {
		return ( piso );
	}
	
	public void establecerPiso( Piso piso ) {
		this.piso = piso;
	}
}
